import java.util.Scanner;


public class CyclicList {
	
	private ListNode head, tail;
	private int size;
	public int currentPosition;
	
	
	public static void main(String argv[])
	{
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int m = scanner.nextInt();
		
		CyclicList zyklist = new CyclicList();
		for (int i = 0; i < n; i++) {
			zyklist.add(new ListNode(String.valueOf(i + 1)));
		}
		
		for (int j = 0; j < n; j++) 
			System.out.println(((ListNode)zyklist.remove(m)).content);
	}

	public CyclicList() {

		head = tail = null;
		size = 0;
	}

	public void add(Object obj) {

		if (size == 0) {
			head = tail = (ListNode) obj;
			currentPosition = 0;
			size++;
		} else {
			ListNode tmp = (ListNode) obj;
			tail.next = tmp;
			tail = tmp;
			tail.next = head;
			size++;
		}
	}
	
	public Object get(int i)
	{
		if(i > size) return null;
		
		ListNode temp = head;
		for (int j = 1; j <= i; j++) 
			temp = temp.next;
		
		return temp;
	}


	public Object remove(int i)
	{			
		ListNode temp = head;
		int counter = currentPosition;
		
		/* In dieser Schleife wird genau so oft durch die Liste iteriert, bis m Kinder druchgezählt
		 * wurden, die noch in dem Kreis vorhanden sind.
		*/
		for (int j = currentPosition; j < currentPosition + i ; j = temp.content != null ? j + 1 : j) 
		{
			temp = ((ListNode) this.get(counter));
			counter = (counter + 1) % size;
		}
		ListNode returnNode = new ListNode(temp.content);
		returnNode.next = temp.next;
		
		temp.content = null;
		
		// Die Position wird neu gesetzt, auf das Kind rechts neben dem eben ausgezählten.
		currentPosition = counter;
		return returnNode;
		
	}

	/**
	 * Gibt die Größe der Liste zurück.
	 * @return
	 */
	public int size() {

		return size;
	}
}
